*{
    margin: 0;
    padding: 0;
}
html, body{ margin:0; height:100%; }
/* 宽度 */
/* #ifndef APP-PLUS-NVUE */
.w-100{ width: 100%; }
/* #endif */
.h-100{ height: 100%; }

.row {
    margin-right: -20px;
    margin-left: -20px;
    /* #ifndef APP-PLUS-NVUE */
    display: flex;
    /* #endif */
    flex-wrap: wrap;
    flex-direction: row;
}
.app-container {
    background-color: #fff;
    padding: 20px;
}

.col-1,
.col-2,
.col-3,
.col-4,
.col-5,
.col-6,
.col-7,
.col-8,
.col-9,
.col-10,
.col-11,
.col-12{
    position: relative;
    padding-right: 20px;
    padding-left: 20px;
}
.col-12 { width: 750px;}
.col-11 { width: 687.5px; }
.col-10 { width: 625px; }
.col-9 { width: 562.5px; }
.col-8 { width: 500px; }
.col-7 { width: 437.5px; }
.col-6 { width: 375px; }
.col-5 { width: 312.5px;}
.col-4 {width: 250px;}
.col-3 {width: 187.5px;}
.col-2 {width: 125px;}
.col-1 {width: 62.5px;}

.col-offset-12 { margin-left: 750px;}
.col-offset-11 { margin-left: 687.5px; }
.col-offset-10 { margin-left: 625px; }
.col-offset-9 { margin-left: 562.5px; }
.col-offset-8 { margin-left: 500px; }
.col-offset-7 { margin-left: 437.5px; }
.col-offset-6 { margin-left: 375px; }
.col-offset-5 { margin-left: 312.5px;}
.col-offset-4 {margin-left: 250px;}
.col-offset-3 {margin-left: 187.5px;}
.col-offset-2 {margin-left: 125px;}
.col-offset-1 {margin-left: 62.5px;}
.col-offset-0 {margin-left: 0;}

/* flex 布局 */
.flex{
    /* #ifndef APP-PLUS-NVUE */
    display:flex;
    /* #endif */
    flex-direction:row;
}
.flex-row{ flex-direction:row!important; }
.flex-column{ flex-direction:column!important; }
.flex-row-reverse{ flex-direction:row-reverse!important; }
.flex-column-reverse{ flex-direction:column-reverse!important; }
.flex-wrap{ flex-wrap:wrap;}
.flex-nowrap{ flex-wrap:nowrap;}
.justify-start{justify-content:flex-start;}
.justify-end{justify-content:flex-end;}
.justify-between{justify-content:space-between;}
.justify-center{justify-content:center;}
.align-center{ align-items: center; }
.align-stretch{ align-items: stretch; }
.align-start{ align-items: flex-start; }
.align-end{ align-items: flex-end; }
/* #ifndef APP-PLUS-NVUE */
.content-start {align-content: flex-start;}
.content-end {align-content: flex-end;}
.content-center {align-content: center;}
.content-between {align-content: space-between;}
.content-around {align-content: space-around;}
.content-stretch {align-content: stretch;}
/* #endif */
.flex-1{ flex: 1; }
.flex-2{ flex: 2; }
.flex-3{ flex: 3; }
.flex-4{ flex: 4; }
.flex-5{ flex: 5; }
/* #ifndef APP-PLUS-NVUE */
.flex-shrink{ flex-shrink: 0; }
/* #endif */

.container {
    padding-right: 20px;
    padding-left: 20px;
}
/*  -- 内外边距 -- */
.m-0 { margin: 0; }
/* #ifndef APP-PLUS-NVUE */
.m-auto{ margin: auto; }
/* #endif */
.m-1 { margin: 10px; }
.m-2 { margin: 20px; }
.m-3 { margin: 30px; }
.m-4 { margin: 40px; }
.m-5 { margin: 50px; }
.mt-0 { margin-top: 0; }
/* #ifndef APP-PLUS-NVUE */
.mt-auto { margin-top: auto; }
/* #endif */
.mt-0-1 { margin-top: -10px; }
.mt-0-3 { margin-top: 3px; }
.mt-1 { margin-top: 10px; }
.mt-2 { margin-top: 20px; }
.mt-3 { margin-top: 30px; }
.mt-4 { margin-top: 40px; }
.mt-5 { margin-top: 50px; }
.mb-0 { margin-bottom: 0; }
/* #ifndef APP-PLUS-NVUE */
.mb-auto { margin-bottom: auto; }
/* #endif */
.mb-1 { margin-bottom: 10px; }
.mb-2 { margin-bottom: 20px; }
.mb-3 { margin-bottom: 30px; }
.mb-4 { margin-bottom: 40px; }
.mb-5 { margin-bottom: 50px; }
.ml-0 { margin-left: 0; }
/* #ifndef APP-PLUS-NVUE */
.ml-auto { margin-left: auto; }
/* #endif */
.ml-0-1 { margin-left: -10px; }
.ml-0-2 { margin-left: -20px; }
.ml-0-3 { margin-left: 3px; }
.ml-05 { margin-left: 5px; }
.ml-1 { margin-left: 10px; }
.ml-2 { margin-left: 20px; }
.ml-3 { margin-left: 30px; }
.ml-4 { margin-left: 40px; }
.ml-5 { margin-left: 50px; }
.mr-0 { margin-right: 0; }
/* #ifndef APP-PLUS-NVUE */
.mr-auto { margin-right: auto; }
/* #endif */
.mr-05 { margin-right: 5px; }
.mr-1 { margin-right: 10px; }
.mr-2 { margin-right: 20px; }
.mr-3 { margin-right: 30px; }
.mr-4 { margin-right: 40px; }
.mr-5 { margin-right: 50px; }
.my-0 { margin-top: 0; margin-bottom: 0; }
/* #ifndef APP-PLUS-NVUE */
.my-auto { margin-top: auto; margin-bottom: auto; }
/* #endif */
.my-1 { margin-top: 10px; margin-bottom: 10px; }
.my-2 { margin-top: 20px; margin-bottom: 20px; }
.my-3 { margin-top: 30px; margin-bottom: 30px; }
.my-4 { margin-top: 40px; margin-bottom: 40px; }
.my-5 { margin-top: 50px; margin-bottom: 50px; }
.mx-0 { margin-left: 0; margin-right: 0; }
/* #ifndef APP-PLUS-NVUE */
.mx-auto { margin-left: auto; margin-right: auto; }
/* #endif */
.mx-1 { margin-left: 10px; margin-right: 10px;}
.mx-2 { margin-left: 20px; margin-right: 20px;}
.mx-3 { margin-left: 30px; margin-right: 30px;}
.mx-4 { margin-left: 40px; margin-right: 40px;}
.mx-5 { margin-left: 50px; margin-right: 50px;}

.p-0 { padding: 0; }
.p { padding: 5px; }
.p-1 { padding: 10px; }
.p-2 { padding: 20px; }
.p-3 { padding: 30px; }
.p-4 { padding: 40px; }
.p-5 { padding: 50px; }
.pt-0 { padding-top: 0; }
.pt { padding-top: 5px; }
.pt-1 { padding-top: 10px; }
.pt-2 { padding-top: 20px; }
.pt-3 { padding-top: 30px; }
.pt-4 { padding-top: 40px; }
.pt-5 { padding-top: 50px; }
.pb-0 { padding-bottom: 0; }
.pb-1 { padding-bottom: 10px; }
.pb { padding-bottom: 5px; }
.pb-2 { padding-bottom: 20px; }
.pb-3 { padding-bottom: 30px; }
.pb-4 { padding-bottom: 40px; }
.pb-5 { padding-bottom: 50px; }
.pl-0 { padding-left: 0; }
.pl { padding-left: 5px; }
.pl-1 { padding-left: 10px; }
.pl-2 { padding-left: 20px; }
.pl-3 { padding-left: 30px; }
.pl-4 { padding-left: 40px; }
.pl-5 { padding-left: 50px; }
.pr-0 { padding-right: 0; }
.pr { padding-right: 5px; }
.pr-1 { padding-right: 10px; }
.pr-2 { padding-right: 20px; }
.pr-3 { padding-right: 30px; }
.pr-4 { padding-right: 40px; }
.pr-5 { padding-right: 50px; }
.py-0 { padding-top: 0; padding-bottom: 0; }
.py { padding-top: 5px; padding-bottom: 5px; }
.py-1 { padding-top: 10px; padding-bottom: 10px; }
.py-2 { padding-top: 20px; padding-bottom: 20px; }
.py-3 { padding-top: 30px; padding-bottom: 30px; }
.py-4 { padding-top: 40px; padding-bottom: 40px; }
.py-5 { padding-top: 50px; padding-bottom: 50px; }
.px-0 { padding-left: 0; padding-right: 0; }
.px-1 { padding-left: 10px; padding-right: 10px;}
.px { padding-left: 5px; padding-right: 5px;}
.px-2 { padding-left: 20px; padding-right: 20px;}
.px-3 { padding-left: 30px; padding-right: 30px;}
.px-4 { padding-left: 40px; padding-right: 40px;}
.px-5 { padding-left: 50px; padding-right: 50px;}
/* 文字大小 */
.font-8 { font-size: 8px;}
.font-10 { font-size: 10px;}
.font-12 { font-size: 12px;}
.font-13 { font-size: 13px;}
.font-14 { font-size: 14px;}
.font-16 { font-size: 16px;}
.font-18 { font-size: 18px;}
.font-20 { font-size: 20px;}
.font-25 { font-size: 25px;}
.font-30 { font-size: 30px;}
.font-36 { font-size: 36px;}
.font-40 { font-size: 40px;}
.font-50 { font-size: 50px;}
.font-60 { font-size: 60px;}
.font-70 { font-size: 70px;}
.h1{font-size:30px; line-height:38px;}
.h2{font-size:24px; line-height:32px;}
.h3{font-size:20px; line-height:28px;}
.h4{font-size:16px; line-height:24px;}
.h5{font-size:14px; line-height:22px;}
.h6{font-size:12px; line-height:20px;}
.h7{font-size:10px; line-height:18px;}
.h8{font-size:8px; line-height:14px;}

/* 文字划线 */
.text-through{text-decoration:line-through;}
/* 文字对齐 */
.text-left { text-align: left;}
.text-right { text-align: right;}
.text-center { text-align: center;}
.text-middle { vertical-align: middle}
/* 文字换行溢出处理 */
.text-ellipsis {
    /* #ifndef APP-PLUS-NVUE */
    overflow: hidden;
    text-overflow: ellipsis;
    display: -webkit-box;
    -webkit-line-clamp: 1;
    -webkit-box-orient: vertical;
    /* #endif */
    /* #ifdef APP-PLUS-NVUE */
    lines: 1;
    /* #endif */
}
.text-ellipsis-2 {
    /* #ifndef APP-PLUS-NVUE */
    overflow: hidden;
    text-overflow: ellipsis;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    /* #endif */
    /* #ifdef APP-PLUS-NVUE */
    lines: 1;
    /* #endif */
}
/* 文字换行溢出处理 */
.text-white-space {
    white-space:normal;
    word-break:break-all;
}
/* 文字粗细和斜体 */
.font-weight-light {font-weight: 300;}      /*细*/
.font-weight-lighter {font-weight: 100;}/*更细*/
.font-weight-normal { font-weight: 400;}    /*正常*/
.font-weight-bold { font-weight: 700;}      /*粗*/
.font-weight-bolder { font-weight: bold;} /*更粗*/
.font-italic { font-style: italic;} /*斜体*/
/* 文字颜色 */
.text-white {color: #ffffff;}
.text-primary {color: #007bff;}
.text-hover-primary { color: #0056b3;}
.text-secondary {color: #6c757d;}
.text-hover-secondary { color: #494f54;}
.text-gray {color: #707070;}
.text-light-gray {color: #9e9e9e;}
.text-success {color: #28a745;}
.text-hover-success{color: #19692c;}
.text-green {color: #43CF7C;}
.text-info { color: #17a2b8;}
.text-hover-info {color: #0f6674;}
.text-warning {color: #ffc107;}
.text-hover-warning { color: #ba8b00;}
.text-danger { color: #dc3545;}
.text-hover-danger { color: #a71d2a;}
.text-light { color: #f8f9fa;}
.text-hover-light { color: #cbd3da;}
.text-dark { color: #343a40;}
.text-hover-dark{ color: #121416;}
.text-body { color: #212529;}
.text-muted { color: #6c757d;}
.text-purple { color: #8400ff;}
.text-black{color: #111010;}
/* 浅灰色 */
.text-light-muted { color: #A9A5A0;}
.text-light-black { color: rgba(0, 0, 0, 0.5);}
.text-light-white { color: rgba(255, 255, 255, 0.5);}

/* 背景颜色 */
.bg-primary { background-color: #007bff;}
.bg-hover-primary:hover{ background-color: #0062cc;}
.bg-blue-light-1{ background-color: #caeeff;}
.bg-secondary { background-color: #6c757d;}
.bg-hover-secondary:hover{ background-color: #545b62;}
.bg-success { background-color: #28a745;}
.bg-hover-success { background-color: #1e7e34;}
.bg-info { background-color: #17a2b8;}
.bg-cyan { background-color: #e6fffb;}
.bg-hover-info { background-color: #117a8b;}
.bg-warning { background-color: #ffc107;}
.bg-hover-warning { background-color: #d39e00;}
.bg-yellow { background-color: #ffe58f;}
.bg-danger { background-color: #dc3545;}
.bg-hover-danger{ background-color: #bd2130;}
.bg-light { background-color: #f8f9fa;}
.bg-light-1 { background-color: #eee;}
.bg-hover-light{ background-color: #dae0e5;}
.bg-dark { background-color: #343a40;}
.bg-hover-dark { background-color: #1d2124;}
.bg-white { background-color: #ffffff;}
.bg-purple { background-color: #8400ff;}
.bg-gray{background-color: #707070;}
.bg-gray-1{background-color: #C4C4C4;}
.bg-gray-2{background-color: #f0f0f0;}
.bg-gray-3{background-color: #fafafa;}
.bg-gray-4{background-color:#f0f2f5;}
.bg-transparent { background-color: transparent;}
.bg-opacity-1{
    opacity: 0.1;
    filter:alpha(opacity=10); /* IE8 及更早版本 */
}
.bg-opacity-3{
    opacity: 0.3;
    filter:alpha(opacity=30); /* IE8 及更早版本 */
}
.bg-opacity-5{
    opacity: 0.5;
    filter:alpha(opacity=50); /* IE8 及更早版本 */
}
.bg-opacity-7{
    opacity: 0.7;
    filter:alpha(opacity=70); /* IE8 及更早版本 */
}
.bg-opacity-9{
    opacity: 0.9;
    filter:alpha(opacity=90); /* IE8 及更早版本 */
}
/* 边框 */
.border { border-width: 1px;border-style: solid;border-color: #dee2e6;}
.border-top {
    border-top-width: 1px;
    border-top-style: solid;
    border-top-color: #dee2e6;
}
.border-right {
    border-right-width: 1px;
    border-right-style: solid;
    border-right-color: #dee2e6;
}
.border-bottom {
    border-bottom-width: 1px;
    border-bottom-style: solid;
    border-bottom-color: #dee2e6;
}
.border-top-dashed {
    background: linear-gradient(to right, #ccc 0%, #ccc 50%, transparent 50%);
    background-size: 28px 1px;
    background-repeat: repeat-x;
}
.border-left {
    border-left-width: 1px;
    border-left-style: solid;
    border-left-color: #dee2e6;
}
.border-badge {
    margin-left: 8px;
    border-left-width: 4px;
    border-left-style: solid;
    border-left-color: #3AA1FF;
    padding-left: 9px;
}
.border-badge-bottom {
    border-bottom-width: 4px;
    border-bottom-style: solid;
    border-bottom-color: #E6007F;
    padding-bottom: 4px;
}
.border-0 { border-width: 0!important;}
.border-top-0 { border-top-width: 0!important;}
.border-right-0 {border-right-width: 0!important;}
.border-bottom-0 {border-bottom-width: 0!important;}
.border-left-0 {border-left-width: 0!important;}
.border-primary { border-color: #007bff;}
.border-secondary {border-color: #6c757d;}
.border-light-secondary {border-color: #E9E8E5;}
.border-success {border-color: #28a745;}
.border-info {border-color: #17a2b8;}
.border-warning {border-color: #ffc107;}
.border-danger {border-color: #dc3545;}
.border-light {border-color: #f8f9fa;}
.border-dark {border-color: #343a40;}
.border-white {border-color: #FFFFFF;}
/* 圆角 */
.rounded { border-radius: 8px;}
.rounded-1 { border-radius: 10px;}
.rounded-top {
    border-top-left-radius: 8px;
    border-top-right-radius: 8px;
}
.rounded-right {
    border-top-right-radius: 8px;
    border-bottom-right-radius: 8px;
}
.rounded-bottom {
    border-bottom-right-radius: 8px;
    border-bottom-left-radius: 8px;
}
.rounded-left {
    border-top-left-radius: 8px;
    border-bottom-left-radius: 8px;
}
.rounded-circle { border-radius: 100px;}
.rounded-0 { border-radius: 0;}
/* 显示 */
/* #ifndef APP-PLUS-NVUE */
.d-none{ display: none; }
.d-inline-block{ display: inline-block; }
.d-block{ display: block; }
/* #endif */
/* 内容溢出 */
.overflow-hidden { overflow: hidden;}
.overflow-x { overflow-x: scroll;}
.overflow-y { overflow-y: scroll;}
/* 定位 */
.position-relative { position: relative;}
.position-absolute { position: absolute;}
.position-fixed { position: fixed;}
/* 定位 - 固定顶部 */
.fixed-top {
    position: fixed;
    top: 0;
    right: 0;
    left: 0;
    z-index: 1030;
}
/* 定位 - 固定底部 */
.fixed-bottom {
    position: fixed;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 1030;
}
.top-0 { top: 0; }
.left-0 { left: 0; }
.right-0 { right: 0; }
.bottom-0 { bottom: 0; }

.fl-r {
    float: right;
}
/* 阴影 */
.shadow-sm-b { box-shadow: 0px 1px 5px 0px rgba(0, 0, 0, 0.15);}
.shadow-sm-r { box-shadow: 2px 0px 5px 0px rgba(0, 0, 0, 0.15);}
.shadow { box-shadow: 0 2px 12px rgba(0, 0, 0, 0.15);}
.shadow-lg { box-shadow: 0px 40px 100px 0px rgba(0, 0, 0, 0.175);}
.shadow-none { box-shadow: none !important;}

.ltsp{
    letter-spacing: 1px;
}
.ltsp-0-5{
    letter-spacing: 5px;
}
.ltsp-1{
    letter-spacing: 10px;
}
.cur-p{
    cursor: pointer;
}
.cur-n{
    cursor: none;
}
.cur-a{
    cursor: auto;
}
.bt-cyan, .bt-cyan:hover, .bt-cyan:focus{
    color: #fff;
    border-color: #2db7f5;
    background: #2db7f5;
}
.bt-green, .bt-green:hover, .bt-green:focus{
    color: #fff;
    border-color: #87d068;
    background: #87d068;
}
.bt-purple, .bt-purple:hover, .bt-purple:focus{
    color: #fff;
    border-color: #d3adf7;
    background: #d3adf7;
}
.bt-yellow, .bt-yellow:hover, .bt-yellow:focus{
    color: #fff;
    border-color: #ffd591;
    background: #ffd591;
}
.bt-blue, .bt-blue:hover, .bt-blue:focus{
    color: #fff;
    border-color: #91d5ff;
    background: #91d5ff;
}
.label-width{
    min-width: 80px;
}
.el-select{
    width: 100%;
}
